package cn.wolfcode.wolf2w.search.service;

import cn.wolfcode.wolf2w.note.api.domain.Note;
import cn.wolfcode.wolf2w.search.api.domain.NoteEs;
import cn.wolfcode.wolf2w.search.query.SearchQueryObject;
import org.springframework.data.domain.Page;

import java.util.List;

public interface INoteEsService {
    /** 添加
    * @param note
    * @return
     */
    void save(NoteEs note);

    /**
     * 更新
     * @param note
     * @return
     */
    void update(NoteEs note);

    /**
     * 查单个
     * @param id
     * @return
     */
    NoteEs get(String id);

    /**
     * 查多个
     * @return
     */
    List<NoteEs> list();

    /**
     * 删除
     * @param id
     */
    void delete(String id);

    /**
     * 按照 标题, 简介, 分页查询数据
     * @param qo
     * @return
     */
    Page<Note> queryByKeyWord(SearchQueryObject qo);

    /**
     * 初始化ES数据
     */
    void initNoteEs();


}
